package com.example.bigdata.scala.字符串

/**
  * 在 Scala 中，字符串的类型实际上是 Java String，它本身没有 String 类。
  *
  * 在 Scala 中，String 是一个不可变的对象，所以该对象不可被修改。这就意味着你如果修改字符串就会产生一个新的字符串对象。
  *
  * 但其他对象，如数组就是可变的对象。接下来我们会为大家介绍常用的 java.lang.String 方法。
  */
object TestDemo {

  def main(args: Array[String]): Unit = {
    创建格式化字符串()
    对象比较运算()
    字符串运输算()
  }

  def 创建格式化字符串(): Unit = {
    val floatVal = 12.456
    val intVal = 2000
    val stringVar = "菜鸟教程!"
    val fs = printf("浮点数变量为: " +
    "%.3f,整型变量为: %d,字符串为 : %s ",floatVal,intVal,stringVar
    )
    println(fs)
  }
  def 对象比较运算(): Unit ={
    println(1==1)
    println(1==1.0)
    val x="hello"
    val y="hello"
    println(x==y)
    var x1 = new String("Hello")
    var y1 = new String("Hello")
    //equals方法等于 ==
    println(y.equals(x))

    // 如果需要像java一样，比较内存地址即引用的是否为同一个对象的话，则使用eq 方法
    println(y.eq(x))

  }
  def 字符串运输算(): Unit ={
    var str = "Hello"
    println(str.indexOf("o"))
    val str1 = str toUpperCase()
    println(str1)

    //反转符
    println(str1.toLowerCase())

    //换位符
    println(str.reverse)

    //丢弃字符
    println(str.drop(3))

    //获取一定范围内的子串
    println(str slice(1,4))

    println(str.charAt(3))
    println(str.startsWith("2"))
    println()
  }

}

